1. Technical Field
The present disclosure relates to software maintenance, and more specifically to simplifying automated software maintenance of data centers.
2. Related Art
Data centers house various infrastructure elements (referred to as “nodes”) that operate together to provide services to users on behalf of a single customer or multiple customers (with the nodes shared by the customers). Such infrastructure elements provide computation or communication capability and generally include computer systems, storage systems, network devices, security devices (firewalls, etc.), etc.
There is a general need to perform software maintenance on various nodes of a data center. For example, when nodes providing services on behalf of a customer become unavailable for processing user requests (termed as the occurrence of a “disaster”), it may be necessary that software maintenance be performed on equivalent nodes (having similar processing capability as the failed nodes) in the data center to make the nodes ‘software ready’ (i.e., installation, configuration and/or starting up the software) for resuming processing of user requests (termed as “recovery”).
Software maintenance of a node implies that one or more software components (such as applications, the run-time environments, drivers, etc.) are added/installed, removed/uninstalled, started up, stopped, status checked, configured, etc., on the nodes, to ensure that nodes are ready for processing user requests. Such software maintenance tasks are generally performed by executing corresponding commands on the nodes using appropriate software present in the nodes.
Automated software maintenance refers to the process of performing a pre-specified set of commands (referred to as a “run book”) on one or more nodes in a data center, in response to the occurrence of a pre-defined event (e.g., disaster/recovery, etc.). In general, different run books need to be specified based on the type (e.g. computer system, network device, etc.) of nodes on which the maintenance needs to be performed, the event in response to which the run book is to be performed, the specific run-time environment/software present in each node, etc.
It may be desirable that the automated software maintenance of data centers be further simplified, in particular, to reduce the amount of time and/or resources required for specifying different run books to be executed for different nodes in a data center.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.